The Universal Serial Bus generally provides a host controlled interface for communication between a host and one or more peripheral devices using standardized interface sockets. There is generally only one host per bus. The USB host is responsible for undertaking all transactions and scheduling bandwidth. Data can be sent by various transaction methods using a token-based protocol.
USB is generally designed for a personal computer host, such as a desktop or laptop computer. However, due to the wide popularity and interoperability of USB devices, many more types of systems are being used and/or considered as USB hosts. An increasing number of mobile telephone handsets and other battery-operated handheld mobile devices may function as both a USB host (in order to use USB peripheral devices) and as a peripheral device (in order to synchronize data with and/or otherwise communicate with a conventional personal computer or similar device). For example, a mobile phone or other handheld mobile device may function as a USB host in order to use a USB adapter for a wireless local area network (WLAN) or other wireless communication system.
However, USB has some disadvantages for power management in a small battery-powered device. A conventional USB device will enter suspend when there is no activity on the bus for greater than 3.0 ms. The device then has a further 7 ms to shutdown the device and draw no more than the designated suspend current from the bus 10 mS after bus activity has stopped. In order to stay connected to a suspended hub or host, the device must still provide power to its pull up speed selection resistors during the suspend mode. At the host, both of the data lines have pull-down resistors of 15K ohms. For the purposes of power consumption, the pull down resistor at the device is in series with the 1.5K ohms pull up, for a total load of 16.5K ohms, usually at a voltage of 3.3 v. Therefore each conventional device consumes at least 200 uA during the suspend mode. Thus suspend current is relatively small for a laptop or desktop computer, but is a significant drain on a small handheld battery-operated device such as a mobile phone or personal organizer and will adversely affect the operating life of the battery.
In addition, a conventional USB device may need 30 ms or more to resume from a suspend mode. In some applications, however, a USB device may need to periodically enter and exit a power saving mode of operation. For example, a WLAN device in a power saving mode may need to listen for a Delivery Traffic Indicator Message (DTIM) every 100 ms (or other DTIM beacon indicator specified by a wireless access point). Thus, the USB bus may also need to wake at this time in order to send any messages received to the host device (e.g., for processing by a WLAN device driver on the host). As a result, a USB device may spend a large portion of any “idle” time simply entering and exiting from suspend mode, thereby significantly reducing any power savings of entering suspend mode.
Therefore, it is desirable to provide for reduced power consumption of a USB device in a power saving mode of operation to provide faster response during periodic states of activity and inactivity.